home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part1 / 1736 < prev    next >
Encoding:
Internet Message Format  |  1996-08-06  |  2.6 KB

  1. Path: venus.roc.csci.csc.com!csci
  2. From: tottinge@csci.csc.com (Tim ottinger)
  3. Newsgroups: comp.object,comp.software-eng,comp.lang.c++
  4. Subject: Re: Moving from C to C++
  5. Date: Fri, 12 Jan 1996 16:23:39 GMT
  6. Organization: Computer Sciences Corporation
  7. Message-ID: <4d61q9$o60@venus.roc.csci.csc.com>
  8. References: <4cs44p$3pk@ixnews8.ix.netcom.com>
  9. Reply-To: tottinge@csci.csc.com (Tim ottinger)
  10. NNTP-Posting-Host: pccom1-155.csci.csc.com
  11.  
  12. Moving from C to C++.
  13.  
  14. Been there.  Done that.  Doing it again with different groups now.
  15. Here's how the first one succeeded:
  16.  
  17. We had a few OO mentors and a staff of programmers who knew only C. 
  18. Having OO mentors, real ones, good ones, is the most important thing 
  19. you must do.  Hire them.  Contract them.  However, you must do this.
  20. We had one staffer and one contractor as mentors.  I was the staffer.
  21.  
  22. We started with a non-critical project.  It was a subsystem which had
  23. rather low "customer delight", so it was a good candidate for a re-
  24. engineer.  It did work, so it wasn't under real time pressure.
  25.  
  26. We took a small team (6 people).  Two were object mentors.  It was the
  27. right mix.  One (non OO) was a subject matter expert (nay, genius). One
  28. was a non-programmer (and remained so) who supported the old product 
  29. in the field.
  30.  
  31. We went for an OO architecture first, then worked out how the parts 
  32. would work.  This turned out to be very wise. The architecture was
  33. stable from "go".
  34.  
  35. We used primitive tools (vi, emacs, gnu g++, gnu gdb).  By not pulling
  36. in fancy and chancy tools, we saved ourselves a lot of learning and
  37. integration woes.  Being primitive isn't always a bad thing. A lot of 
  38. tool-based projects have failed in our company.
  39.  
  40. We later added Purify.  If you don't you're cutting yourself off at the
  41. knees.  You'll need it.
  42.  
  43. Start your staff reading now.  Booch '94 is good, but RobertMartin's
  44. bookis even better.  If you don't do this, you'll suffer quite a bit.
  45. The C++ FAQ book is indispensible.  Buy several copies of it.  We did,
  46. and it saved us a lot.
  47.  
  48. Get them introduced to OO concepts and patterns ASAP.  The Gang of Four
  49. book saved us much headache, and helped to get us back on schedule.
  50.  
  51. Finally, a bit of biblical advice: Don't muzzle the oxen which tread the
  52. grain.  In modern terms, don't be afraid to give your staff a little
  53. self-indulgence in the technology.  Let them all share in what they're 
  54. creating.  If you don't allow them to enjoy it and learn a few things
  55. they can't use, if you don't allow them to research and scrounge, if
  56. you insist they work autonomously, the project will almost certainly 
  57. fail.
  58.  
  59. Tim Ottinger
  60. Sr Tech Consultant
  61. CSC Communications Industry Services
  62.